<html>
<head><meta charset="utf-8"><title>associated types and normalization · wg-traits · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/index.html">wg-traits</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/associated.20types.20and.20normalization.html">associated types and normalization</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="184123416"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/associated%20types%20and%20normalization/near/184123416" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/associated.20types.20and.20normalization.html#184123416">(Dec 23 2019 at 18:36)</a>:</h4>
<p>So <span class="user-mention" data-user-id="116009">@nikomatsakis</span> I was going through last week's design meeting to update the minutes, and thought about something in regards to the <code>not</code> direction for designing whether to use the placeholder type</p>



<a name="184123426"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/associated%20types%20and%20normalization/near/184123426" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/associated.20types.20and.20normalization.html#184123426">(Dec 23 2019 at 18:37)</a>:</h4>
<p>So, I haven't looked at the code yet, and don't quite remember</p>



<a name="184123457"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/associated%20types%20and%20normalization/near/184123457" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/associated.20types.20and.20normalization.html#184123457">(Dec 23 2019 at 18:37)</a>:</h4>
<p>but can we ever know that there <em>doesn't</em> exist an impl for a type?</p>



<a name="184123464"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/associated%20types%20and%20normalization/near/184123464" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/associated.20types.20and.20normalization.html#184123464">(Dec 23 2019 at 18:37)</a>:</h4>
<p>(because of downstream impls?)</p>



<a name="184123512"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/associated%20types%20and%20normalization/near/184123512" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/associated.20types.20and.20normalization.html#184123512">(Dec 23 2019 at 18:38)</a>:</h4>
<p>I guess this overlaps with coherence rules, but I feel like we get into a grey area here</p>



<a name="184123528"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/associated%20types%20and%20normalization/near/184123528" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/associated.20types.20and.20normalization.html#184123528">(Dec 23 2019 at 18:38)</a>:</h4>
<p>Where in some cases we can use the placeholder, and in some cases that <code>not { exists ...</code> goal is <code>CannotProve</code></p>



<a name="184164353"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/associated%20types%20and%20normalization/near/184164353" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/associated.20types.20and.20normalization.html#184164353">(Dec 24 2019 at 11:31)</a>:</h4>
<blockquote>
<p>but can we ever know that there <em>doesn't</em> exist an impl for a type?</p>
</blockquote>
<p>Funny you should ask about this. I've just been pondering it. You may enjoy <a href="http://aturon.github.io/tech/2017/04/24/negative-chalk/" target="_blank" title="http://aturon.github.io/tech/2017/04/24/negative-chalk/">Aaron's blog post on negative reasoning and modal logic</a> from some time ago, which explains a few things here.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>